Computer Science: A Very Short Introduction by Subrata Dasgupta
Author:Subrata Dasgupta
Language: eng
Format: epub, pdf
ISBN: 9780198733461
Publisher: OUP Oxford
Published: 2016-01-14T05:00:00+00:00
Programming languages as abstract artefacts
It was mentioned earlier that a computation can be specified as programs at different abstraction levels that vary in ‘distance’ from the physical computers that can execute the programs. Correspondingly, programming languages can be conceived at different abstraction levels. A crude dichotomy separates high-level from low-level languages. The former enable programs to be written independent of all physical computers that would execute them, and the latter refers to languages designed with respect to specific families of computers or even more specifically to a particular computer.
Thus, high-level languages are ‘machine-independent’ and low-level ones are ‘machine-dependent’ with the caveat that the degree of independence or dependence may well vary. The lowest level languages are called assembly languages and they are so specific to particular (family of, or individual) physical computers that the assembly language programmer literally manipulates the features of the computers themselves.
There was a time in the history of computing when almost all programming was done using assembly languages. Such programs were still symbol structures (and to a very moderate extent abstract) but translators called ‘assemblers’ (themselves programs) would convert them into the target computers’ machine code. However, because of the tedium, difficulty, amount of human time required, and error-proneness of assembly language programming the focus shifted to the invention and design of increasingly higher level, machine-independent programming languages, and the task of translating programs in such languages into executable machine code for specific computers was delegated to compilers.
In this chapter hereafter, and in the remainder of this book, unless stated explicitly, the term ‘programming language’ will always refer to high-level languages.
Programming languages, in contrast to natural ones, are invented or designed. They are, thus, artefacts. They entail the use of notation as symbols. As we will see, a programming language is actually a set of symbol structures and, being independent of physical computers, are abstract in exactly the same sense that algorithms are abstract. We thus have the curious situation that while programs written in such languages are liminal, the languages of programming themselves are abstract.
Download
Computer Science: A Very Short Introduction by Subrata Dasgupta.pdf
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(8315)
Test-Driven Development with Java by Alan Mellor(6855)
Data Augmentation with Python by Duc Haba(6775)
Principles of Data Fabric by Sonia Mezzetta(6517)
Learn Blender Simulations the Right Way by Stephen Pearson(6422)
Microservices with Spring Boot 3 and Spring Cloud by Magnus Larsson(6283)
Hadoop in Practice by Alex Holmes(5967)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5817)
RPA Solution Architect's Handbook by Sachin Sahgal(5684)
Big Data Analysis with Python by Ivan Marin(5425)
The Infinite Retina by Robert Scoble Irena Cronin(5378)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(5164)
Pretrain Vision and Large Language Models in Python by Emily Webber(4392)
Infrastructure as Code for Beginners by Russ McKendrick(4161)
Functional Programming in JavaScript by Mantyla Dan(4048)
The Age of Surveillance Capitalism by Shoshana Zuboff(3965)
WordPress Plugin Development Cookbook by Yannick Lefebvre(3874)
Embracing Microservices Design by Ovais Mehboob Ahmed Khan Nabil Siddiqui and Timothy Oleson(3673)
Applied Machine Learning for Healthcare and Life Sciences Using AWS by Ujjwal Ratan(3652)
